Delivering web-based documents with optimal performance can be difficult due to highly varying bandwidths and latencies of each network connection.
In computer networking, the term bandwidth refers to the data rate supported by a network connection or interface. Bandwidth can refer to both actual and theoretical throughput. For example, a standard dialup modem supports up to 56 Kbps (kilobits-per-second) of peak bandwidth, but due to physical limitations of telephone lines and other factors, a dialup connection cannot practically support more than 53 Kbps of bandwidth in practice. Likewise, a traditional Ethernet network theoretically supports 100 Mbps (megabits-per-second) of bandwidth, but this maximum throughput cannot reasonably be achieved nor sustained due to overhead in the computer hardware and operating systems, as well as other factors such as hardware switches, bridges and routers. Consequently, networks generally do not operate at the “advertised” bandwidth.
Latency is another element that contributes to overall network speed. The term latency refers to delays that may occur in the processing of network data requests. A low-latency network connection is one that generally experiences small delay times, while a high-latency connection generally suffers long delays. Other than propagation delays, latency may also involve transmission delays (properties of the physical medium) and processing delays, such as passing through proxy servers or making additional network hops on the internet.
Although the theoretical peak bandwidth of a network connection is fixed according to the underlying technology used, the actual bandwidth obtained varies greatly over time and is affected by high latencies. Excessive latency creates bottlenecks that prevent data from saturating the network pipe, thus decreasing the effective bandwidth. The impact of latency on network bandwidth can be temporary (lasting a few seconds) or persistent (constant) depending on the source of the delays.
A cache server can operate as a network acceleration product and may reside in the middle of these propagation latency bottlenecks. In general, the cache server is configured to operate in such ways that it not be the source of additional processing latency. However in practice, the cache server does have processing latencies. More efficient techniques for operating a cache server or other network device may be desired.